#pragma once
#include "../VertexDeclaration/VertexDeclaration.h"

class CIAInterfaceBase
{
protected:
    CIAInterfaceBase                      ( );
    
public:    
    virtual ~CIAInterfaceBase             ( );
    static CIAInterfaceBase *CreateIAI    ( );
    virtual mUInt CreateVertexBuffer      ( mVoid *a_pBufData, mUInt a_uBufSize, mUInt a_uStride ) = 0;
    virtual mBool CreateIndexBuffer       ( mVoid *a_pBufData, mUInt a_uBufSize, TVariableType a_IndexType ) = 0;
    virtual mVoid IASetupBuffers          ( ) = 0;
};

class CIAInterface
{
protected:
    CIAInterfaceBase   *m_pIAI;
    CVertexDeclaration *m_pVertexDeclaration;

public:
    CIAInterface  ( );
    ~CIAInterface ( );
};

